<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>

    /*
    “一个方法，该方法返回对象默认的迭代器。
     由 for-of 语句使用”。换句话说，这个符号表示实现迭代器 API 的函数。
     */


    // fixme:unknown: 懵逼中...

    class Emitter {
        constructor(max) {
            this.max = max;
            this.idx = 0;
        }

        // fixme:等到学废了第七章,看看yield会返回值吗
        * [Symbol.iterator]() {
            while (this.idx < this.max) {
                yield this.idx++;
            }
        }
    }

    function count() {
        let emitter = new Emitter(5);
        for (const x of emitter) {
            console.log(x);
        }
    }

    count();


</script>
</body>
</html>